﻿using System;
using System.Collections.Generic;

namespace Archie.Retail.Data
{
    public interface IDataManager
    {
        IEnumerable<DoorManufacturer> GetDoorManufacturers();
        DoorManufacturer GetDoorManufacturer(Guid id);
        void AddDoorManufacturer(DoorManufacturer doorManufacturer);
        void UpdateDoorManufacturer(DoorManufacturer doorManufacturer);
        void DeleteDoorManufacturer(Guid id);
        
        IEnumerable<DoorSeries> GetDoorSerieses();
        DoorSeries GetDoorSeries(Guid id);
        void AddDoorSeries(DoorSeries doorSeries);
        void UpdateDoorSeries(DoorSeries doorSeries);
        void DeleteDoorSeries(Guid id);
        
        IEnumerable<Door> GetDoors();
        Door GetDoor(Guid id);
        void AddDoor(Door door);
        void UpdateDoor(Door door);
        void DeleteDoor(Guid id);

        IEnumerable<HandleSeries> GetHandleSeries();
        HandleSeries GetHandleSeries(Guid id);
        void AddHandleSeries(HandleSeries handleSeries);
        void UpdateHandleSeries(HandleSeries handleSeries);
        void DeleteHandleSeries(Guid id);

        IEnumerable<Handle> GetHandles();
        Handle GetHandle(Guid id);
        void AddHandle(Handle handle);
        void UpdateHandle(Handle handle);
        void DeleteHandle(Guid id);
    }
}
